abstract out form factors