four methods functioning properly