add assert in loader
destructors should be virtual to work with unique pointer
build fixes for shift modules