Hopefully, the direction I took things is ok :)