compiles, work. need clearing