A lot of stuff for our inital implementation