added all features now implementing modal