work on Mode + basic tests