added fraction manipulation functions