getting there.. this will never be perfect.