moved souping to the constructor