major run on strict js, needs proper testing to verify 100% stable operation (too many changes)