Added interface and very minor functionality for preferences