unnecessary functions are removed