fixes #3 some structure