renamed some files and added unit tests