implement wait(), remove use functions