Added interfaces and some initial imps
resolving conflicts

weird conflicts going on