fully using System() as constructor properly now sorta