ported application to angular