Removed public constructors in private classes, also re-added the dragged requirement code into proper place