refactor to proper structure