init
partial revision