Below this line are member function other than constructors