add more flexibility with controller methods