implemented forgotten functions