first attempt at building, etc
start major refactor