custom bits of code and overides