implementações com javascript