added some additional functionality