added projects and lasers refactored code throughout with attribute readers