more implementation done
also max test
more restrictions and did support