built more complete version