added prefix, infix, suffix function