basic discrete model