final initial version