Added modes, fully functional