fixed the legacy's constructors so it was more obvious