implemented further features