Moved things around

more work on a functional basic library