add save method, change supportsClass to supports