ver 0.1 almost-complete version