Seperated methods for create and update to reduce clutter.