Adds testing, cleans up gem a bit