avoid static constructors