abstract methods can now take dictionaries with more than the specified keys