Added features and restored some funcitonality