Cleaned up framework