changed initialization methods