First cut assignment 1

Raw but functional version.