Getting closer to the final result. Still not perfect.