add some constructor related on work