all the code for the initial release