Implementing UNET from scratch