Updating API for more extensibility