small tweaks and only using KVC