frontend, primitive background fading, and placeholder text. needs fixing up