Cleaned up the interface