Moved implementation to cpp files, changed h files to hpp.