rewrote the cardadapter to be able to use a custom layout

resolves #1