basic functional app achieved