this is cleaner, uses appropriate functions...