towards a better structure and naming convention