Merged everything into one library, moved preconditions to src folder, updated tests