Adding source and tests