added several basic methods. need to figure out windows stuff