now with const and constructors