add voip capacity
rewrite some components