oder stuff in header
better naming and const-ness