Cleaned up libraries and added a backend