use sprintf for better formatting