Changed to constructor instead of static factory methods