re-ordering constructors --kazu