added uptime function