first stab at app spec