initial compilation working
basic impl with set