model layer add Post implementation