added run functionality