This is kinda what I was thinking...more advanced though