constants and types
initial work on instructions and builder