reworked for further demo