implemented find() etc, added some documentation, fixed formating