cleanup and moving things around
updated requirements