Initial commit

Initial solution, looks to be working correctly.