Refused using GUIDs as it doesn't seem to be intuitive and overhead for project
factory refactored