fixed sprintf