Added some more features, update to Protocol