modifed otopfunction