Refactored for better readability and more strict access rules to methods of golem structs.