call subscripts and better call superscripts
interface and debugging stuff
split into multiple modules