Implementação de vários eventos, e correção de vários erros.