moved more stuff around so importing would work, added __init__ etc