cleaned up property system