basic merge done.. can be much better. sigh