filled in constructor