four methods