Adding self populate stuff, need tons of rework.