Improvements, optimisations & better JavaDocs