upded to remove unnecessary methods