System demo working, abstract system class added