removed uncessary specs and added features dir
added tests and refactored a bunch, should have made more commits