Modelling tumor progression, heterogenity, and immune competition