not very pretty, quick solutions