Creating functional web applications