This code is duplicate, move to superclass maybe?