DO NOT PUSH: use prologs for static vs input state