todo completely implemented front/back