added closet implementation