pseudo and init
refactor
reflect