all main features done