skeleton compiler stuff