add 3 methods