which is fine, but not something I'd personally use--lot of overengineering going on