Handle different methods more elegantly