initial version
some updates