fixed glitches, needs more recoding(tomorrow)