Library project.

@truffaut @sdevani Sorry, forgot to make a pull request yesterday. This is my work so far.