finish control, must be buggy