reworked system a bit