updated source to include an abstract