really crappy forward/backwards. need to re-do this.