basic structure to play with