dont put secret in constructor