Remake of my old university project.