better explaination of methods