4 methods working