i'm seeing a lot of dupe code between these methods that you're adding. could you look into doing this a bit cleaner