fix the constructor