Added annotations
Updated changed class name and package structure
Added annotations and changed the machine signature