+ output on error
+ responsive buttons