working on pre definitions