further refactor of structures