Cleaned up naming conventions, higher efficiency and modularity, updated readme