seems to work, soon merging