Added all the features. Still need to make sure everything works