Implementation of basic program logic. Still lots of holes to fill