adding "projects" features and more unit tests