review tim: references
review karo: implementation