added my own modifications