A lot of parameters on this method now, i wonder if we shouldn't think about shortening it somehow.