now constructor is public