There are probably typos... and Constructors?