ex-133 (jebene) - mostly finished. need to add more tests