added all functionality