More reasonable interface