further improoved sink implementation