added abstract and other fluffy stuff