Move constructor to the top, private methods to the end.