reorganize structure a little bit