refactor 04 - structure