adding various pieces in progress