add basic engine, break out some functionality from linear-check
add silly-rest engine and an easy to grasp example