methods moved to a private section