added dynamic stuff from Kian among other things