Added another shell implementation. Hopefully better this time.