fixed stackoverflow because metatables